Software systems may require collection of crash data upon an application or system crash. Crash data may include application state immediately prior to the crash, CPU state (registers, etc), stack traces, memory snapshot (heap), as well as metadata including application name, version, machine information, etc. Collected crash data may then be used to debug problems with a particular application or system and to make appropriate fixes to an application or system component.